<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
    //   "use strict";
      /*   this    
            当前函数中的this指向当前函数调用时候的调用者
            如果是构造函数，此时函数中dthis指向的是new出来的对象
            在严格模式下，没有调用者的函数被调用的时候，函数中的this指向undefined
            在非严格模式下，全局默认指向window */
        // var user={
        //     name:"alice",
        //     show:function(){
        //         console.log(this);
        //     }
        // };
        // user.show();

        // function show2(){
        //     console.log(this);
        // }
        // show2();
        // console.log("--------")
        // window.show2();

        // function f1(){
        //     console.log(this);
        // }

        // var user2={
        //     name:"tom",
        //     show3:f1
        // };
        // user2.show3();

        var user3={
            name:"tom",
            printA:function(){
                console.log(this);
            },
            printB:function(){
                "use strict";
                console.log(this);
            }
        };
        var a=user3.printA;
        a();
        var b=user3.printB;
        b();

        console.log("=========");
        function Student(name){
            "use strict";
            this.name=name;
            this.study=function(){
                console.log(this);
            }
        }
        var stu1=new Student("alice");
        stu1.study();

        console.log("-----------");
        var obj={
            print:function(){
                console.log(this);
                var _this=this;
                function show(){
                    "use strict";
                    console.log(this);
                    console.log(_this)
                }
                show();
            }
        };
        obj.print();



    </script>
</head>
<body>
    
</body>
</html>